package com.aep.provisioning.service;

import java.math.BigDecimal;
import java.util.List;

import com.aep.provisioning.controller.form.ContactForm;
import com.aep.provisioning.domain.EspRateCode;
import com.aep.provisioning.domain.Geography;

public interface WebFacade {

	List<EspRateCode> findListEspRateCodeMonthly (Long utilityID,String plan);
	List<EspRateCode> findStandardERateCodekWhRate (Long utilityID,String plan,BigDecimal monthly);
	List<EspRateCode> findStandardERateCodekWRate (Long utilityID,String plan,BigDecimal monthly,BigDecimal kWhRate);
	EspRateCode findStandardERateCode(Long utilityID, String plan,BigDecimal monthly,BigDecimal kWhRate,BigDecimal kWRate);
	List<EspRateCode> findSeasonalERateCodeSummerkWh(Long utilityID, String plan,BigDecimal monthly);
	List<EspRateCode> findSeasonalERateCodeNonSummerkWh(Long utilityID, String plan,BigDecimal monthly,BigDecimal summerKWhRate);
	List<EspRateCode> findSeasonalERateCodekW(Long utilityID, String plan,BigDecimal monthly,BigDecimal summerKWhRate,BigDecimal nonSummerKWhRate);
	EspRateCode findSeasonalERateCode(Long utilityID, String plan,BigDecimal monthly,BigDecimal summerKWhRate,BigDecimal nonSummerKWhRate,BigDecimal kWRate);
	List<EspRateCode> findListDiscount(Long utilityID, String plan);
	EspRateCode findDiscountERateCode(Long utilityID, String plan, BigDecimal discountAmount);
	EspRateCode findEspRateCode(Long utilityID,String rateCode);
	
	void saveContact(ContactForm contactForm);
	List<Geography> listDepartamentos();
	List<Geography> listProvincias(Long idDepartamento);
	
}
